./" *************************************************************************
./"     gwm.1：gwm(1)手冊頁。
./"     版權 (C) 2020-2025 gsm <406643764@qq.com>
./"     本程序為自由軟件：你可以依據自由軟件基金會所發布的第三版或更高版本的
./" GNU通用公共許可證重新發布、修改本程序。
./"     雖然基于使用目的而發布本程序，但不負任何擔保責任，亦不包含適銷性或特
./" 定目標之適用性的暗示性擔保。詳見GNU通用公共許可證。
./"     你應該已經收到一份附隨此程序的GNU通用公共許可證副本。否則，請參閱
./" <http://www.gnu.org/licenses/>。
./" ************************************************************************/

.TH gwm 1 2025年5月 "gwm 2.13.4" gwm
.
.SH 名稱
.B
gwm \- gwm（gsm's window manager），是一個用C語言編寫的基於X11的動態窗口管理器。
.
.SH 摘要
.B gwm
.
.SH 描述
.PP
gwm（gsm's window manager），是一個用C語言編寫的基於X11的動態窗口管理器。
.PP
X窗口系統的子窗口在屏幕空間上總是位於父窗口之上，而後打開的窗口在屏幕空间上總是位於先打開的兄弟窗口之上；最新打开的窗口在屏幕空間上總是位於最上層。这种窗口次序叫窗口堆叠次序，简称窗口叠次序。叠次序是可以调整的。
.PP
gwm把物理屏幕虛擬爲多個邏輯屏幕，即所謂的虛擬桌面。在邏輯上，對於每個虛擬桌面，在根窗口之上，從下至上把屏幕空間分成以下七層：桌面層、下層、平鋪層、堆疊、上層、停靠層、全屏層；從平面上，又把屏幕分爲任務欄和工作區域。這僅僅是邏輯上的分層，目的是爲了實現視覺上的分層。實際上，gwm通過調整窗口的疊次序來實現分層效果，並非通過重設父窗口來進行分層。上一層的窗口總是會擋着其下一層的窗口。gwm支持平鋪、堆疊兩種窗口布局模式，這些模式可以在運行時動態切換。任務欄由左邊的按鈕、中間的縮微欄、右邊的狀態欄組成。按鈕用於實現特定的功能，各按鈕的文字從左至右依次爲：1、2、3、▣、▥、■、^。縮微欄，用於顯示縮微窗口，點擊縮微窗口則去縮微窗口。狀態欄顯示根窗口名字。
.PP
以下所說的窗口，除非特別說明，否則均指受本窗口管理器所管理的窗口。以下所說的當前窗口，除非特別說明，否則均指當前虛擬桌面下位於該窗口所屬層頂部並獲得鍵盤輸入焦點的窗口。以下說明或者命令，除非特別說明，否則均限於當前虛擬桌面。
.PP
平鋪模式是所有普通窗口按比例分配平鋪層的工作區域的布局模式。它把工作區域从左至右劃分爲次區域、主區域、固定區域。若固定區域沒有窗口佔用，則該區域並入主區域和次區域。若次區域沒有窗口佔用，則該區域並入主區域。三個區域各自均勻分配空間給相應的窗口。主、次區域的窗口是互爲補充的，即：若因某操作而造成主區域窗口數量比主區域可容納窗口數量多，則主區域底部的窗口移到次區域頂部；若因某操作而造成主區域窗口數量比主區域可容納窗口數量少並且次區域窗口數量大於零，則次區域頂部的窗口移到主區域底部。以下把這種規則稱爲主次區域互補。
.PP
堆疊模式是窗口之間可以堆疊、所有窗口按其请求的位置排列於工作區域的布局模式。
.PP
gwm爲所有窗口分別重設父窗口，該父窗口還包括邊框、標題欄，這兩者統稱窗口框架。重設父窗口之前的原窗口範圍稱爲非框架區域。其中，標題欄從左至右依次設置程序標識按鈕、標題區域、其他按鈕。程序標識按鈕用於實現下拉菜單功能。標題區域用於顯示窗口的標題，以及提供移動窗口的功能。其他按鈕用於實現特定的功能，按鈕的數量隨基本窗口布局模式而異。在平鋪模式下，各按鈕的文字從左至右依次爲：◁、▼、▷、△、—、◲、🗙。在堆疊模式下，不顯示◁、▼、▷、△按鈕。
.
.SH 選項
無。
.
.SH 用法
.
.SS 通用說明
.
.TP
可以通過xmodmap(1)查看功能轉換鍵的映射，通常Mod1對應Alt、Mod4對應Super。
.TP
使用鍵盤命令、定位器命令時，將忽略大寫鎖定鍵、數字鎖定鍵。
.TP
在平鋪模式下移動窗口或調整窗口大小，該窗口切換至堆疊層頂部，而其餘窗口保持原來的布局模式。僅能在堆疊、平鋪模式下移動窗口或調整窗口尺寸。僅能在平鋪模式下執行區域相關的操作。移動窗口或調整窗口尺寸時，將顯示窗口坐標和尺寸的提示窗口。其中尺寸是以程序偏好的尺寸步進值爲單位，既可能是以像素作爲單位，也可能以字符寬度作爲單位，亦可能是其他。
.TP
窗口組是指所有相同程序打開的窗口，而窗口亞組是指一個程序主窗口及其所有後代臨時窗口。若窗口亞組含有模態窗口，則只能操作頂部模態窗口。對窗口執行縮微、去縮微、切換桌面操作時，會對同亞組的其他窗口執行相同操作；執行其他操作時，只作用於該窗口。
.TP
當在非當前虛擬桌面的客戶窗口有緊急或關注請求時，與該客戶窗口所在的虛擬桌面對應的任務欄桌面按鈕均會改變顏色，通常用紅色表示緊急請求，用黃色表示關注請求。具體顏色因顏色主題而異。
.TP
以下命令如無特別說明，作用範圍均在當前桌面。
.TP
狀態欄會顯示"xsetroot \-name"的結果。若未設置，則顯示"gwm"。
.TP
gwm啓動後會立即嘗試執行~/.config/gwm/autostart.sh。
.
.SS 鍵盤命令
.
.TP
.B F1
依次嘗試用以下終端模擬器打開gwm手冊頁直到用其中之一打開或試完爲止：lxterminal、xfce4-terminal、xterm。以下簡稱打開gwm手冊頁。
.
.TP
.B 亮度減小鍵
減小屏幕亮度。
.
.TP
.B 亮度增大鍵
增大屏幕亮度。
.
.TP
.B Mod4+Mod1+f
打開默認的文件瀏覽器。
.
.TP
.B Mod4+Mod1+g
打開首選遊戲，即韋諾之戰。
.
.TP
.B Mod4+Mod1+q
打開QQ。
.
.TP
.B Mod4+Mod1+t
依次嘗試打開以下模擬終端直到打開其中之一或試完爲止：lxterminal、xfce4-terminal、gnome-terminal、konsole5、xterm。以下簡稱打開模擬終端。
.
.TP
.B Mod4+Mod1+w
打開默認的網絡瀏覽器。
.
.TP
.B Mod4+Mod1+F1
運行以下命令：mplayer -shuffle ~/music/*。
.
.TP
.B Mod4+Mod1+F2
切換以上mplayer命令的啓停狀態。
.
.TP
.B Mod4+Mod1+F3
終止以上mplayer命令。
.
.TP
.B Mod4+Control+F1
用amixer來減小音量。
.
.TP
.B Mod4+Control+F2
用amixer來增加音量。
.
.TP
.B Mod4+Control+F3
用amixer來把音量設置成最大。
.
.TP
.B Mod4+Control+F4
用amixer來在當前音量與靜音之間切換。
.
.TP
.B Mod4+Control+l
注銷gwm會話，即：pkill -9 startgwm。
.
.TP
.B Mod4+Control+p
關機。
.
.TP
.B Mod4+Control+r
重啓操作系統。
.
.TP
.B Mod4+k
向上移動當前窗口。
.
.TP
.B Mod4+j
向下移動當前窗口。
.
.TP
.B Mod4+h
向左移動當前窗口。
.
.TP
.B Mod4+l
向右移動當前窗口。
.
.TP
.B Mod4+Up
減小窗口高度。
.
.TP
.B Mod4+Down
增大窗口高度。
.
.TP
.B Mod4+Left
減小窗口寬度。
.
.TP
.B Mod4+Right
增大窗口寬度。
.
.TP
.B Mod4+F1
把當前窗口切換至主區域的頂部。
.
.TP
.B Mod4+F2
把當前窗口切換至次區域的頂部。
.
.TP
.B Mod4+F3
把當前窗口切換至固定區域的頂部。
.
.TP
.B Mod4+F4
把當前窗口切換至堆疊層頂部。
.
.TP
.B Mod4+f
把當前窗口切換至全屏。
.
.TP
.B Mod4+a
把當前窗口切換至上層頂部。
.
.TP
.B Mod4+b
把當前窗口切換至下層頂部。
.
.TP
.B Mod4+Return
若當前窗口是縮微窗口，則去縮微化該窗口。
.
.TP
.B Mod4+Tab
切換到下一個窗口。
.
.TP
.B Mod4+Shift+Tab
切換到上一個窗口。
.
.TP
.B Mod4+c
關閉當前窗口。
.
.TP
.B Mod4+d
顯示桌面，即：當在非顯示桌面狀態時，縮微化所有窗口；否則去縮微化所有窗口。
.
.TP
.B Mod4+s
切換到堆疊模式。
.
.TP
.B Mod4+t
切換到平鋪模式。
.
.TP
.B Mod4+i
增加主區域可容納窗口的數量。
.
.TP
.B Mod4+Shift+i
減少主區域可容納窗口的數量。
.
.TP
.B Mod4+m
如果存在次區域，則增大主區域比例，並相應地減小次區域比例。
.
.TP
.B Mod4+Shift+m
如果存在次區域，則減小主區域比例，並相應地增大次區域比例。
.
.TP
.B Mod4+x
如果存在固定區域，則增加固定區域比例，並相應地減小主區域比例。
.
.TP
.B Mod4+Shift+x
如果存在固定區域，則減小固定區域比例，並相應地增加主區域比例。
.
.TP
.B Mod4+PageDown
切換至下一個虛擬桌面。可循環切換。
.
.TP
.B Mod4+PageUp
切換至上一個虛擬桌面。可循環切換。
.
.TP
.B Print
全屏截圖並保存到文件。
.
.TP
.B Mod4+Print
對當前窗口截圖並保存到文件。
.
.TP
.B Mod4+r
打開運行輸入框。
.
.TP
.B Mod4+Delete
退出gwm。若通過startgwm啓動gwm的話，會重新打開gwm，相當於刷新gwm。
.
.TP
.B Mod4+Shift+數字N鍵
切換到第N個虛擬桌面。
.
.TP
.B Mod4+數字N鍵
把當前窗口移動到第N個虛擬桌面。
.
.TP
.B Mod4+Mod1+數字N鍵
把所有窗口移動到第N個虛擬桌面。
.
.TP
.B Control+數字N鍵
把當前窗口移動到第N個虛擬桌面，並切換到第N個虛擬桌面。
.
.TP
.B Control+Mod1+數字N鍵
把所有窗口移動到第N個虛擬桌面，並切換到第N個虛擬桌面。
.
.TP
.B Mod1+數字N鍵
把當前窗口附加到第N個虛擬桌面。
.
.TP
.B Mod1+Shift+數字N鍵
把所有窗口附加到第N個虛擬桌面。
.
.TP
.B Shift+Control+0
把當前窗口附加到所有虛擬桌面。
.
.SS 定位器命令
.
.TP
定位器懸停是指定位器在設定的時間內不移動。定位器按鈕1通常是鼠標左鍵，定位器按鈕2通常是鼠標中鍵，定位器按鈕3通常是鼠標右鍵。定位器點擊窗口會將該窗口切換爲當前窗口。在操作中心之外的窗口點擊的話，將會關閉操作中心。定位器命令隨按下的定位器按鈕、按鍵、點擊、懸停的窗口而異。以下如無特別說明，定位器在構件上懸停，將會彈出構件功能提示窗口。
.
.TP
以下如無特別說明，移動窗口是指把窗口從點擊窗口的位置移動到釋放相應定位器按鈕的位置，在平鋪模式下進行此操作，則還會把該窗口移到堆疊層頂部；交換窗口是指在平鋪模式下把所點擊的窗口與釋放相應定位器按鈕時光標所在的窗口交換位置；切換位置是指把所點擊的窗口切換到所點擊位置按鈕所表示的位置，或把所點擊的窗口切換到釋放相應定位器按鈕時光標所在的位置並位於釋放光標時所在的窗口前邊，但以下情況例外：在屏幕左邊緣釋放時，如次要區域存在窗口，則窗口切換到次要區域頂部，否則則切換到主要區域頂部；在屏幕右邊緣釋放時，切換到固定區域頂部；在根窗口釋放時，切換到主區域頂部。
.
.TP
某些定位器按鈕1單擊命令，直接根據其所操作的構件的名字就能理解命令的含義，或者構件功能提示已經把命令的含義解釋得很清楚。對於這些定位器命令，這裏就不作說明。
.
.TP
.B 操作應用窗口（如無特別說明，相應的定位器命令爲：定位器按鈕1-單擊）
    窗口標題區域：
        定位器按鈕1 - 單擊    聚焦該窗口，
        定位器按鈕1 - 移動    移動窗口，
        定位器按鈕2 - 移動    切換位置，
        定位器按鈕3 - 移動    交換窗口；
    窗口邊框：
        定位器按鈕1 - 單擊    聚焦該窗口，
        定位器按鈕1 - 移動    調整窗口尺寸；
    窗口非框架區域：
        定位器按鈕1             - 單擊  聚焦該窗口，
        Mod4+定位器按鈕1        - 移動  移動窗口，
        Mod4+Shift+定位器按鈕1  - 移動  調整窗口尺寸，
        Mod4+定位器按鈕2        - 移動  切換位置，
        Mod4+定位器按鈕3        - 移動  交換窗口。
.
.TP
.B 操作根窗口（如無特別說明，相應的定位器命令爲：定位器按鈕1-移動）
    主、次區域之間：調整主、次區域的比例；
    主、固定區域之間：調整主、固定區域的比例。
.
.TP
.B 操作任務欄（如無特別說明，相應的定位器命令爲：定位器按鈕1-單擊）
    任務欄虛擬桌面按鈕：
        定位器按鈕1              - 單擊     切換到該虛擬桌面，
        Control+定位器按鈕1      - 單擊     當前窗口移動到該虛擬桌面，並切換到該虛擬桌面，
        Control+Mod1+定位器按鈕1 - 單擊     所有窗口移動到該虛擬桌面，並切換到該虛擬桌面，
        定位器按鈕2              - 單擊     當前窗口附加到該虛擬桌面，
        Mod1+定位器按鈕2         - 單擊     所有窗口附加到該虛擬桌面，
        Shift+定位器按鈕2        - 單擊     當前窗口附加到所有虛擬桌面，
        定位器按鈕3              - 單擊     當前窗口移動到該虛擬桌面，
        Mod1+定位器按鈕3         - 單擊     所有窗口移動到該虛擬桌面；
    任務欄的圖標：
        定位器按鈕1      - 單擊     去縮微化該窗口，
        定位器按鈕3      - 移動     交換窗口，
        定位器按鈕2      - 移動     切換位置，
        Mod4+定位器按鈕2 - 單擊     關閉圖標及對應的窗口。
.TP
.B 操作操作中心（如無特別說明，相應的定位器命令爲：定位器按鈕1-單擊）
    運行按鈕：打開命令輸入框並獨享鍵盤。輸入命令的一部分或全部之後，按回車鍵即可運行第一個匹配的命令並退出。按Esc鍵或用定位器點擊該輸入框以外的地方即可關閉命令輸入框。支持簡單的編輯功能，可使用Backspace鍵刪除光標前的一個字符，使用Del鍵刪除光標之後的一個字符，使用向左鍵使光標移動到前一個字符的位置，使用向右鍵使光標移動到後一個字符的位置，使用Home鍵使光標移動到第一個字符之前，使用End使光標移動到最後一個字符後邊，使用Control+u清空光標之前的所有字符，使用Control+v在光标位置粘贴内容，使用Tab鍵補全命令。
.
.SH 特性
.
.TP
特性是一種與gwm通信的機制。可使用xprop(1)修改特性。除了X標準特性、ICCCM特性、EWMH特性外，gwm還支持以下特性：
.
.TP
.B GWM_MAIN_COLOR_NAME
gwm界面主顏色名。字符串格式。支持英文顏色名和十六進制字符串（如："#abcdef"）。修改該特性會更改顏色主題。如：xprop -root -f GWM_MAIN_COLOR_NAME 8s -set GWM_MAIN_COLOR_NAME "black"。
.
.SH 配置
.
.TP
目前主要通過修改源代碼來修改配置。具體是修改config.c、bind_cfg.h、rule_cfg.h，該文件已經包含詳細的配置注釋。
.
.SH 漏洞報告
.
因爲目前尚未完全實現ICCCM和EWMH協議，故使用了這些協議的程序窗口可能不能正常運行。若你發現其他漏洞，則請向<406643764@qq.com>報告。
.
.SH 作者
.
此程序由gsm<406643764@qq.com>開發。
.br
官方網站：https://sourceforge.net/projects/gsmwm/。
.
.br
官方QQ羣：羣賬號爲920793458，羣名爲gwm。
.
.SH 版權
.
版權 \(co 2020-2025 gsm <406643764@qq.com>。
.br
本程序為自由軟件：你可以依據自由軟件基金會所發布的第三版或更高版本的GNU通用公共許可證重新發布、修改本程序。
